package com.campus.secondhand.util;

import lombok.Data;

/**
 * 全局统一响应格式（所有接口都返回这个格式，前端好处理）
 */
@Data
public class Result<T> {
    private int code;       // 响应码（200=成功，500=失败）
    private String msg;     // 响应信息（比如“操作成功”“用户名已存在”）
    private T data;         // 响应数据（比如用户信息、物品列表）

    // 成功响应（无数据）
    public static <T> Result<T> success() {
        return new Result<>(200, "操作成功", null);
    }

    // 成功响应（带数据）
    public static <T> Result<T> success(T data) {
        return new Result<>(200, "操作成功", data);
    }

    // 失败响应
    public static <T> Result<T> error(String msg) {
        return new Result<>(500, msg, null);
    }

    // 自定义响应码（比如400=参数错误）
    public static <T> Result<T> error(int code, String msg) {
        return new Result<>(code, msg, null);
    }
}